/**
 * Beschreiben Sie hier die Klasse Stoerungsmeldung.
 * 
 * @author christoph.stueber@mes-alsfeld.de
 * @version Schuljahr 2013/2014
 *          erstellt 14.03.2014
 *          geändert 24.04.2014
 */
public class Stoerungsmeldung extends Thread
{

    /** Attribut zum Speichern der Eingangskanäle. */
    private int input;

    /** Attribut zum Beenden des Threads. */
    private boolean running = false;

    /** */
    private Steuerung eineSteuerung;

    /**
     * Konstruktor zum Erzeugen von Objekten der Klasse Windmessung;
     */
    public Stoerungsmeldung(Steuerung st)
    {
        eineSteuerung = st;
        running = true;
    }

    /**
     * run-Methode des Threads.
     */
    public void run()
    {
        while (running)
        {
            int no = (int) (8.0 * Math.random());
            if (!eineSteuerung.getWindkraftanlagen()[no].istGesperrt())
            {
                eineSteuerung.getWindkraftanlagen()[no].sperren();
                System.out.println("\n++++ Sperre WKA " + (no + 1));
                try
                {
                    Thread.sleep(12000);
                } catch (InterruptedException e)
                {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                eineSteuerung.getWindkraftanlagen()[no].entsperren();
            }
        }

    }

    /**
     * beenden ist eine Methode zum sicheren Beenden des Threads
     */
    public void beenden()
    {
        running = false;
    }
}
